package parcview.interfaces;

import java.util.List;

/**
 * Stellt eine Warteschlange vor dem Bauabschnitt dar. Die darin befindlichen
 * Autos k�nnen abgefragt werden, ebenso kann das erste Auto abgefragt oder 
 * entfernt werden. Autos k�nnen der Warteschlange hinzugef�gt werden. 
 */
public interface WaitingQueueIF {
	
	/**
	 * Gibt die in der Warteschlange befindlichen Autos als Liste zur�ck.
	 * @return
	 */	
	public List<CarIF> getWaitingCars();
	
	/**
	 * Gibt das erste Auto der Warteschlange zur�ck ohne es zu l�schen.
	 * @return
	 */
	public CarIF getFirstCar();
	
	/**
	 * Gibt das erste Auto der Warteschlange zur�ck und entfernt es aus der 
	 * Warteschlange.
	 * @return
	 */
	public CarIF removeFirstCar();
	
	/**
	 * Reiht das als Parameter �bergebene Auto in die Warteschlange ein.
	 */
	public void queueCar(CarIF car);
	
	public int size();
}